Crate mzpeaks

source ·
Expand description

mzpeaks implements the building blocks and machinery for representing peaks in a mass spectrum.

It’s meant to be used as a building block for other tools and does not provide any I/O machinery for peak lists. For that, consider mzdata

use mzpeaks::{CentroidPeak, PeakSet, PeakCollection, Tolerance};

let peaks = PeakSet::new(vec![
    CentroidPeak::new(186.04, 522.0, 0),
    CentroidPeak::new(204.07, 9800.0, 1),
    CentroidPeak::new(205.07, 150.0, 2)
]);

assert_eq!(peaks.search(204.05, Tolerance::Da(0.02)).unwrap(), 1);

let peak = match peaks.has_peak(204.05, Tolerance::Da(0.02)) {
    Some(p) => p,
    None => panic!("Failed to retrieve peak!")
};

assert!((peak.mz - 204.07).abs() < 1e-6);

Re-exports§

Modules§

  • A type system implementation of a coordinate system that attempts to deal with the different dimensions an observation may be placed in simultaneously.
  • A feature is a two dimensional mass spectrum concept for a measure over some time unit. It represents something that is located at a constrained but varying coordinate system X over a sequentially ordered dimension Y with an abundance measure at each time point.
  • Collections of features that are ordered and searchable by a coordinate, support fast access and are growable. While the main behaviors are provided through the FeatureMapLike generic trait, a (generic) full implementation is given by FeatureMap.
  • Measure accuracy error tolerance ranges
  • A peak is the most atomic unit of a (processed) mass spectrum. It represents a location in one (or more) coordinate spaces with an measured intensity value
  • Collections of peaks that are ordered and searchable by a coordinate, support fast access and are growable. While the main behaviors are provided through the PeakCollection generic trait, a (generic) full implementation is given by PeakSetVec.
  • A prelude to bring into scope all the traits of this library.

Macros§